package com.xbongbong.saas.domain.dao;

import com.xbongbong.saas.domain.entity.SurchargeEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @author long.rao
 * @version v1.0
 * @date 2019/3/4 21:33
 * @since v1.0
 */
@Repository
@Mapper
public interface SurchargeDao {
    /**
     * 插入数据
     *
     * @param entity BOM单实体数据
     * @return java.lang.Integer
     * @author long.rao
     * @date 2019-03-04 21:34
     */
    Integer insert(SurchargeEntity entity);
    /**
     * 更新数据
     *
     * @param entity BOM单实体数据
     * @return java.lang.Integer
     * @author long.rao
     * @date 2019-01-29 21:04
     */
    Integer update(SurchargeEntity entity);
    /**
     * 更新数据
     *
     * @param key 主键值
     * @param corpid 公司id
     * @return com.xbongbong.saas.domain.entity.SurchargeEntity
     * @author long.rao
     * @date 2019-03-04 21:34
     */
    SurchargeEntity getByKey(@Param("key") Long key, @Param("corpid") String corpid);

    /**
     * 获取BOM单实体集合
     *
     * @param param
     * @author long.rao
     * @date 2019-03-04 21:34
     */
    List<SurchargeEntity> findEntitys(@Param("param") Map<String, Object> param);

    /**
     * 多条查询
     * @param param 参数
     * @return java.lang.Integer
     * @author long.rao
     * @date 2019-03-04 21:34
     */
    Integer getEntitysCount(@Param("param") Map<String, Object> param);
    /**
     * 为第一次创建的公司生成默认的其他费用数据
     *
     * @param surchargeList
     * @return
     * @author 吴峰
     * @date 2019/4/28 10:10
     */
    void insertBatch(@Param("list") List<SurchargeEntity> surchargeList);
}
